谈谈现代软件供应链的发展及攻击应对方法
编译:代码卫士
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
软件供应链由构建、封装和部署应用程序的代码和二进制、开发团队、工具和进程组成。现代软件开发使得供应链越来越复杂,原因包括:
产品创新:当代消费者希望获得前沿产品,这就要求软件厂商交付更大的创新作品。
外部服务:当前,组织机构将非业务核心的元素如支付、导航等外包出去。
新技术:新的操作系统、处理器和显卡芯片增加了软件的复杂程度。
实践:当代实践如敏捷开发、CI/CD和DevOps 共同推动了生产交付的速度。
代码:用于构建应用程序的代码中包含很多成分,如自定义代码、开源依赖、构建和封装脚本、容器和基础设施。
这些元素共同创造了复杂的软件供应链,成为具有吸引力的攻击向量和恶意人员的目标。
攻击者利用软件供应链“上游”组件中恶意代码的目的是攻陷攻击目标:“下游”组件。软件供应链中的任何一环虽然可被攻陷,但当前研究强调三个主要目标:依赖、管道以及二者的结合即管道依赖。
(1) 依赖
应用依赖即开源程序包或容器镜像引入漏洞。攻击者将恶意代码插入公开可访问的程序包,而毫不知情的开发人员自动下载该恶意代码。
(2) 管道
开发管道用于构建和发布软件,也可遭攻陷。攻击者将恶意代码注入定义构建过程(如CI脚本)的代码或构建工具的配置中。之后,攻击者可利用构建管道将恶意代码分发到下游消费者。
(3) 管道依赖
构建管道中的外部依赖如第三方插件、工具二进制或构建环境本身也可遭攻击。
如下最佳实践可提升软件供应链的安全。
(1) 使用SCA和SAST工具
软件成分分析 (SCA) 工具有助于提前且在整个软件开发进程中集成安全测试,从而缓解被拉取到应用中的开源程序包风险(包括间接依赖)。SCA工具还能检测开源软件许可证,帮助组织机构确保合规法律要求。
静态应用安全测试 (SAST) 工具检查定制化代码中的安全问题。使用SAST工具可告知用户供应链组件和定制化代码中的风险。
(2) 确保容器安全
源自可信提供商的基图像应当免遭恶意软件感染,但它们提供的Linux 程序包和开发者工具中常常含有漏洞。容器安全工具有助于缓解容器镜像中的风险,而且还应当能够识别容器中的应用组件,尤其是在无法直接访问源代码的情况下。
(3) 应用软件物料清单 (SBOM)
SBOM 提供了所提供的产品中包含的所有组件详情:开源依赖、容器和构建工具。生成并维护SBOM 来追踪第三方依赖、工具和来源。在采购新软件之前或在采购过程中要求提供SBOM并定期扫描其中的安全风险。
(4)仔细管理源代码
源代码管理系统 (SCM) 如 GitHub 或 Atlassian Bucket 是组织机构软件开发的中心枢纽。当代SCMs 提供具体的特性和配置设置如访问策略控制和分支防护,从而加固安全。这些机制并非总是默认启动的,必须明确设置。
(5) 机密信息和凭据
当前的工作流使用不同类型的访问控制凭据,包括加密密钥、SSH密钥和API令牌。如这些凭据遭暴露,则可遭攻击者利用。为缓解风险,使用机密管理工具来存储并加密机密和执行访问控制。扫描源代码仓库,确保不会错误地提交机密、自动化服务账户的凭据更改并对令牌实施权限限制。
(6) 执行DevSecOps 实践
DevSecOps 将安全实践集成到DevOps 模型中。DevSecOps 的关键元素是尽早并在整个软件开发生命周期中集成安全性。DevSecOps 是一项持续的跨团队工作,组织文化如无法深入改革,则无法实现。
软件供应链攻击发生的频率和具备的复杂度很可能将增加,影响更多的组织机构并造成不断增长的成本。然而,通过仔细规划和执行最佳实践,组织机构可向更加安全的软件供应链方向前进。
和GitHub 打官司?热门包 SheetJS出走npmjs.com转向自有CDN
不满当免费劳力,NPM 热门库 “colors” 和 “faker” 的作者设无限循环
NPM流行包再起波澜:维护人员对俄罗斯用户发特定消息,谁来保证开源可信?
200多个恶意NPM程序包针对Azure 开发人员,发动供应链攻击
NPM 修复两个严重漏洞但无法确认是否已遭在野利用,可触发开源软件供应链攻击
热门NPM库 “coa” 和“rc” 接连遭劫持,影响全球的 React 管道
速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年
Pwn2Own大赛回顾:利用开源服务中的严重漏洞,攻陷西部数据My Cloud PR4100
热门开源后端软件Parse Server中存在严重的 RCE ,CVSS评分10分
https://www.darkreading.com/application-security/the-modern-software-supply-chain-how-it-s-evolved-and-what-to-prepare-for
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。